<?php

namespace App\Utils\Enum;
class ImEnum
{
    /**
     * 系统提示
     */
    const int MSG_TYPE_SYSTEM = 100;

    /**
     * 文本消息
     */
    const int MSG_TYPE_TEXT = 101;

    /**
     * 图片消息
     */
    const int MSG_TYPE_IMAGE = 102;

    /**
     * 语音消息
     */
    const int MSG_TYPE_VOICE = 103;

    /**
     * 视频消息
     */
    const int MSG_TYPE_VIDEO = 104;

    /**
     * 名片消息
     */
    const int MSG_TYPE_CONTACT = 105;

    /**
     * 定位消息
     */
    const int MSG_TYPE_LOCATION = 106;

    /**
     * 链接
     */
    const int MSG_TYPE_LINK = 107;

    /**
     * 欢迎
     */
    const int MSG_TYPE_WELCOME = 108;

    /**
     * 礼物
     */
    const int MSG_TYPE_GIFT = 109;

    /**
     * 红包
     */
    const int MSG_TYPE_RED_PACKET = 110;

    /**
     * 直播间公告
     */
    const int MSG_TYPE_LIVE_NOTICE = 111;

    /**
     * 禁言提示
     */
    const int MSG_TYPE_USER_MUTED = 112;


    /**
     * 申请状态-待处理
     */
    const int APPLY_STATUS_WAIT = 0;

    /**
     * 申请状态-同意
     */
    const int APPLY_STATUS_AGREE = 1;

    /**
     * 申请状态-拒绝
     */
    const int APPLY_STATUS_REJECT = 2;

    /**
     * 好友申请操作-同意
     */
    const int APPLY_DO_AGREE = 1;

    /**
     * 好友申请操作-拒绝
     */
    const int APPLY_DO_REJECT = 2;

    /**
     * 好友申请操作-删除
     */
    const int APPLY_DO_DELETE = 9;

    /**
     * 重新下发会话列表
     */
    const int IM_DO_RELOAD_SESSION_LIST = 1;

    /**
     * 消息阅读上报
     */
    const int IM_DO_READ_MSG = 2;

    /**
     * 任务结果下发
     */
    const int IM_DO_TASK_RESULT = 3;

    /**
     * 赠送礼物
     */
    const int IM_DO_SEND_GIFT = 4;

    /**
     * 下播
     */
    const int IM_DO_LIVE_OFF = 5;


    /**
     * 允许发送的消息类型
     * @return int[]
     */
    public static function allowSendMsgTypes(): array
    {
        return [
            self::MSG_TYPE_TEXT,
            self::MSG_TYPE_IMAGE,
            self::MSG_TYPE_VOICE,
            self::MSG_TYPE_CONTACT
        ];
    }

}